#ifndef DOMAINMODEL_H
#define DOMAINMODEL_H

#include "mission.h"

namespace IAlib
{

class IA_LIBSHARED_EXPORT DomainModel
{
public:
    DomainModel();
    DomainModel(const DomainModel& model);
    ~DomainModel();

    void setActorId(const QString& id) {m_actor_id = id;}
    QString getActorId() const { return m_actor_id; }

    QList<Mission*> getMissions() const { return m_missions; }

    Mission * getMission(const QString& mission_name);

    void addMission(const Mission& mission);
    void removeMission(const QString& mission_name);

    QDomElement toXML(QDomDocument &doc);
    void        fromXML(QDomElement ele);


    DomainModel& operator=(const DomainModel& model);

private:
    QString m_actor_id;

    QList<Mission*> m_missions;
};

}

#endif // DOMAINMODEL_H
